<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Warnings and Errors</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="edit68k.css" rel="stylesheet" type="text/css">
</head>

<body class="text">
<p class="heading">EASy68K Warning and Error Messages<hr noshade>
<p class="text"></p>
<p class="text"></p>
<p class="text"><b>&quot;WARNING: Address expected.&quot;<br>
</b>The starting address of the program was missing from the 
<a href="Directives/end.htm">END directive</a>. The 
required syntax for the end directive is:<br>
&nbsp;&nbsp; END&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
Address<br>
Where Address is a literal value or label that 
specifies the starting address of the program.</p>
<p class="text"><b>&quot;WARNING: ASCII constant exceeds 4 characters&quot;<br>
</b><a href="ASCII.htm">ASCII</a> constants such as 'ABCD' are limited to 4 characters. The resulting 
value is a 32 bit binary number comprised of the ASCII values of each character. 
'ABCD' results in the number $41424344 which is the ASCII code for each letter 
appended together beginning with $41 the ASCII code for 'A'.</p>
<p class="text"><b>&quot;WARNING: DO expected.&quot;<br>
</b>The structured assembly statements <a href="StrucControl/While.htm">WHILE</a>, 
<a href="StrucControl/Repeat.htm">UNTIL</a> and <a href="StrucControl/For.htm">FOR</a> must end with the 
word DO.<br>
For example <font face="Courier New">
<span style="background-color: #C0C0C0">until d1 &lt;eq&gt; #0 do</span></font></p>
<p class="text"><b>&quot;WARNING: END directive missing, starting address not set.&quot;<br>
</b>All programs must contain one <a href="Directives/end.htm">END directive</a> which marks the end of the 
assembled program. The END directives argument indicates the starting address of the program. The END 
directive should be the last statement in the program.</p>
<p class="text"><b>&quot;WARNING: Forcing SHORT addressing disables range checking of 
extension word&quot;<br>
</b>The compiler will not create an error if the address specified is outside 
the range of a 16 bit offset.<br>
Addresses are 
<a href="Reference/68ks1e.htm#shortAddressing">forced to use the short form</a> by 
appending a .w for example: <font face="Courier New">
<span style="background-color: #C0C0C0">move.b label.w,d0</span></font></p>
<p class="text"><b>&quot;WARNING: Forward reference may cause 'Symbol value 
differs...' error.&quot;<br>
</b>A <a href="Directives/macro.htm">macro definition</a> should be located above the macro call. Placing macro 
definitions below the macro call will result in an error if the macro call is 
between a branch and the branch destination.</p>
<p class="text"><b>&quot;WARNING: Numeric constant exceeds 32 bits&quot;<br>
</b>The literal number in the source file is too big. A 32 bit number may not 
exceed 4,294,967,295 decimal or $FFFFFFFF hexadecimal.</p>
<p class="text"><b>&quot;WARNING: Origin value is odd (Location counter set to next 
highest address)&quot;<br>
</b>The address used with the ORG directive must always be an even number. If an 
odd address is specified, EASy68K will automatically adjust the number up to the 
next even location.</p>
<p class="text"><b>&quot;WARNING: THEN expected.&quot;<br>
</b>The structured assembly statement <a href="StrucControl/If.htm">IF</a> 
should end with the word THEN. For 
example <font face="Courier New"><span style="background-color: #C0C0C0">if d1 &lt;ne&gt; 
#0 then</span></font></p>
<p class="text"><b>&quot;ERROR: Absolute address exceeds 16 bits&quot;<br>
</b>Absolute short <a href="Reference/68ks1e.htm">addressing</a> must be in the 
range -32768 through 32767.</p>
<p class="text"><b>&quot;ERROR: Branch instruction displacement is out of range or 
invalid&quot;<br>
</b>The target address specified for the <a href="Reference/68ks9a.htm">branch 
instruction</a> is too far away. Short displacements must be from -128 to 
127 bytes away. Word displacements must be from -32768 to 32767 bytes away. A
<a href="Reference/68ks9d.htm">JMP</a> instruction may be used to transfer program control to any address.</p>
<p class="text"><b>&quot;ERROR: Comma expected&quot;<br>
</b>The operand is not complete.</p>
<p class="text"><b>&quot;ERROR: Displacement out of range&quot;<br>
</b>The displacement value used exceeds the allowed range. Word displacements 
must be in the range -32768 through 32767. Byte displacements must be in the 
range -128 through 127.</p>
<p class="text"><b>&quot;ERROR: Division by zero attempted&quot;<br>
</b>An expression in the source code contained a mathematical operation that 
attempted to divide a number by zero. This error is reported by the assembler 
while it is attempting to resolve a literal number in the source code. It should 
not be confused with the exception that occurs if the 68000 
<a href="Reference/68ks5l.htm">DIVU</a> or <a href="Reference/68ks5k.htm">DIVS</a> 
instruction attempts a divide by zero.</p>
<p class="text"><b>&quot;ERROR: ENDM expected&quot;<br>
</b>Macro definitions must end with the <a href="Directives/macro.htm">ENDM</a> directive.</p>
<p class="text"><b>&quot;ERROR: FOR without ENDF.&quot;<br>
</b>The structured <a href="StrucControl/For.htm">FOR</a> statement must have a 
matching ENDF.</p>
<p class="text"><b>&quot;ERROR: Forward references not allowed with this directive&quot;<br>
</b>The directive is referencing an address that is higher than the current 
address of the instruction. This directive only permits access to addresses that 
are lower than the current address. Forward references are not permitted because the referenced address may change during the assembly 
process.</p>
<p class="text"><b>&quot;ERROR: IF without ENDI.&quot;<br>
</b>The structured <a href="StrucControl/If.htm">IF</a> statement must have a 
matching ENDI.</p>
<p class="text"><b>&quot;ERROR: Immediate data exceeds 8 bits&quot;<br>
</b>8 bit data must be in the range -128 through 127 for signed values and 0 
through 255 for unsigned.</p>
<p class="text"><b>&quot;ERROR: Immediate data exceeds 16 bits&quot;<br>
</b>16 bit data must be in the range -32768 through 32767 for signed values and 
0 through 65535 for unsigned.</p>
<p class="text"><b>&quot;ERROR: Invalid addressing mode&quot;<br>
</b>EASy68K did not recognize a valid 68000 addressing mode for this instruction. Verify that 
the 
addressing mode is supported by the instruction. Check for missing or 
mismatched parenthesis, spaces or punctuation.</p>
<p class="text"><b>&quot;ERROR: Invalid argument&quot;<br>
</b>The argument used in the conditional assembly directive is invalid or 
missing.</p>
<p class="text"><b>&quot;ERROR: Invalid bitfield.&quot;<br>
</b>The specification of the <a href="Reference/68ks8.htm">bitfield</a> is 
invalid. EASy68K only supports valid 68000 addressing modes with the bitfield 
instructions.</p>
<p class="text"><b>&quot;ERROR: Invalid block length&quot;<br>
</b>The size of the memory block requested is invalid.</p>
<p class="text"><b>&quot;ERROR: Invalid constant shift count&quot;<br>
</b>Immediate values used to specify <a href="Reference/68ks7.htm">shift</a> 
counts must be between 1 and 8.</p>
<p class="text"><b>&quot;ERROR: Invalid opcode&quot;<br>
</b>The opcode is not a valid <a href="Reference/68ks3.htm">68000 instruction</a> or defined macro. EASy68K only 
supports 68000 opcodes and the bitfield instructions from the 68020.</p>
<p class="text"><b>&quot;ERROR: Invalid operator&quot;<br>
</b>An expression in the source code contains an unrecognized operator.</p>
<p class="text"><b>&quot;ERROR: Invalid size code&quot;<br>
</b>Size codes are normally specified by using a .B for byte, .S for short, .W 
for word, or .L for long. Verify that the size code is valid for the instruction 
and addressing mode.</p>
<p class="text"><b>&quot;ERROR: Invalid syntax&quot;<br>
</b>EASy68K detected something wrong with the statement it was attempting to 
assemble. Check for missing parameters, bad or missing punctuation and values 
that are outside the expected range.</p>
<p class="text"><b>&quot;ERROR: Invalid vector number&quot;<br>
</b>The <a href="Reference/68ks10f.htm">TRAP</a> instruction vector number must be between 0 and 15 inclusive.</p>
<p class="text"><b>&quot;ERROR: Label is not allowed&quot;<br>
</b>Labels are not permitted with this directive.</p>
<p class="text"><b>&quot;ERROR: Label required with this directive&quot;<br>
</b>A label must be used with this directive. <a href="quickStart.htm">Labels</a> 
must begin in the first column of the line or must be terminated with a colon 
':'.</p>
<p class="text"><b>&quot;ERROR: Nested Macro calls are too many levels deep.&quot;<br>
</b>Nested <a href="Directives/macro.htm">macros</a> are permitted but the 
assembler has detected what appears to be an infinite macro loop.</p>
<p class="text"><b>&quot;ERROR: No matching DBLOOP statement was found.&quot;<br>
</b>A structured UNLESS was encountered with no matching
<a href="StrucControl/DBloop.htm">DBLOOP</a>.</p>
<p class="text"><b>&quot;ERROR: No matching FOR statement was found.&quot;<br>
</b>A structured ENDF was encountered with no matching
<a href="StrucControl/For.htm">FOR</a>.</p>
<p class="text"><b>&quot;ERROR: No matching IF statement was found.&quot;<br>
</b>A structured ELSE or ENDI was encountered with no matching
<a href="StrucControl/If.htm">IF</a>.</p>
<p class="text"><b>&quot;ERROR: No matching REPEAT statement was found.&quot;<br>
</b>A structured UNTIL was encountered with no matching
<a href="StrucControl/Repeat.htm">REPEAT</a>.</p>
<p class="text"><b>&quot;ERROR: No matching WHILE statement was found.&quot;<br>
</b>A structured ENDW was encountered with no matching
<a href="StrucControl/While.htm">WHILE</a>.</p>
<p class="text"><b>&quot;ERROR: Quick immediate data range exceeds 1 byte&quot;<br>
</b>The immediate data used with the <a href="Reference/68ks4h.htm">MOVEQ</a> instruction may not exceed 1 byte.</p>
<p class="text"><b>&quot;ERROR: Quick immediate data range must be 1 to 8&quot;<br>
</b>The immediate data used with the <a href="Reference/68ks5d.htm">ADDQ</a> and 
<a href="Reference/68ks5u.htm">SUBQ</a> instruction must be 1 through 
8 inclusive.</p>
<p class="text"><b>&quot;ERROR: Register list symbol not previously defined&quot;<br>
</b><a href="Directives/reg.htm">Register lists</a> must be defined prior to 
use.</p>
<p class="text"><b>&quot;ERROR: Register list symbol used in an expression&quot;<br>
</b><a href="Directives/reg.htm">Register lists</a> may not be used as part of 
an expression.</p>
<p class="text"><b>&quot;ERROR: Symbol defined more than once&quot;<br>
</b>The symbol is defined in the program in more than one location. Only symbols 
that are defined with the <a href="Directives/set.htm">SET</a> directive may appear in more than one location.</p>
<p class="text"><b>&quot;ERROR: Symbol is not a register list symbol&quot;<br>
</b><a href="Directives/reg.htm">Register lists</a> may be defined and used with 
the <a href="Reference/68ks4f.htm">MOVEM</a> instruction. The register list must 
be defined prior to use.</p>
<p class="text"><b>&quot;ERROR: Symbol value differs between first and second pass&quot;<br>
</b>The value or address assigned to the symbol changed during the assembly 
process. This may be caused if a macro call is placed between a branch or jump 
instruction and its destination address. Place all macro definitions at the top 
of the source file.</p>
<p class="text"><b>&quot;ERROR: Too many arguments&quot;<br>
</b>Too many arguments were specified when calling a 
<a href="Directives/macro.htm">macro</a>.</p>
<p class="text"><b>&quot;ERROR: Unable to access specified file.&quot;<br>
</b>There was an error while trying to access the specified
<a href="Directives/include.htm">include</a> file.</p>
<p class="text"><b>&quot;ERROR: Undefined symbol&quot;<br>
</b>No definition could be found for the specified symbol. Verify the spelling 
of the symbol and make sure operands are separated from opcodes and comments by 
at least one space or tab.</p>
<p class="text"><b>&quot;ERROR: UNLESS without DBLOOP.&quot;<br>
</b>The structured UNLESS statement must have a matching
<a href="StrucControl/DBloop.htm">DBLOOP</a>.</p>
<p class="text"><b>&quot;ERROR: UNTIL without REPEAT.&quot;<br>
</b>The structured UNTIL statement must have a matching
<a href="StrucControl/Repeat.htm">REPEAT</a>.</p>
<p class="text"><b>&quot;ERROR: WHILE without ENDW.&quot;<br>
</b>The structured <a href="StrucControl/While.htm">WHILE</a> statement must 
have a matching ENDW.<br>
&nbsp;</p>
</body>
</html>
